﻿#pragma once

#include "SourceCode/Renderer/VertexArray.h"

namespace Hazal
{
	class COpenGLVertexArray : public CVertexArray
	{
	public:
		COpenGLVertexArray();

		~COpenGLVertexArray();

	public:
		void Bind() const override;

		void Unbind() const override;

		void AddVertexBuffer(const Ref<CVertexBuffer>& rVertexBuffer) override;

		void SetIndexBuffer(const Ref<CIndexBuffer>& rIndexBuffer) override;

		const std::vector<Ref<CVertexBuffer>>& GetVertexBuffers() const override;

		const Ref<CIndexBuffer>& GetIndexBuffer() const override;

	private:
		std::vector<Ref<CVertexBuffer>> m_vertexBuffers;
		Ref<CIndexBuffer> m_indexBuffer;

		uint32_t m_unRendererID;
	};
}
